1. Field of the Invention
This invention relates an image processing apparatus and method, particularly an image processing apparatus and method for producing a high-quality output of an image.
2. Description of the Related Art
When a document created and edited by a computer is outputted as a hard copy, generally this is implemented by the following procedure: A printer driver or the like operated by the computer replaces the document information by a group of commands describing image information, and the group of commands is transferred to a command interpreter in an image-output unit. The command interpreter creates a raster image in conformity with the group of commands received and sends the raster image to an image output section.
This command system for describing image information is referred to as page description language (PDL), typical examples of which are PostScript (registered trademark) and Capsl (registered trademark).
The construction of a system which uses PDL is illustrated in FIG. 9. The system includes a host computer 801 which designates a hard-copy output, a PDL interpreter 802, an image memory 803, a binarizing circuit 804, a printer 805 and a controller 806 for controlling the PDL interpreter 802, image memory 803, binarizing circuit 804 and printer 805.
The host computer 801 transfers data, such as a document to be outputted as a hard copy, to the PDL interpreter 802 as PDL data. The PDL interpreter 802 converts the PDL data, which have been accepted from the host computer 801, to raster image data and writes the raster image data in an image memory 803.
When the interpreter 802 converts all of the PDL data sent from the host computer 801 to raster image data, the interpreter notifies the controller 806 of the end of processing. Upon being notified of the end of processing by the PDL interpreter 802, the controller 806 transfers the raster image data, which have been stored in the image memory 803, to the printer 805 and causes the printer 805 to output a hard-copy image.
The data that have been stored in the image memory 803 generally possess information on the order of eight bits (256 grays) per pixel. This means that if the printer 805 is of the ink-jet type in which one pixel can only be expressed by a binary value indicative of black or white, the data that have been stored in the image memory 803 cannot be transferred to the printer 805 as is. In such case the controller 806 operates in such a manner that the data stored in the image memory 803 are transferred to the printer 805 after they are converted to binary information by the binarizing circuit 804.
A case in which an image of the kind shown in FIG. 10 is outputted as a hard copy by the system of FIG. 9 will be considered.
As shown in FIG. 10, numeral 901 denotes a continuous grayscale image obtained by reading a silver chloride photograph using a scanner, 902 character information created by a word processor, and 903, 904 a pie graph and a line graph, respectively, created using the graphing function of tabulation software.
In such a case where a plurality of images having different characteristics are contained in a single overall image, the following difficulties arise when eight-bit date are converted to one-bit data by the binarizing circuit 804:
(1) When simple binarization is performed as by adopting “1” as the value for values of 128 (which is the intermediate value of the 256 gray levels) or greater and “0” as the value for values of 127 or less, the tonality or shading of the continuous grayscale image portion is lost. Further, it becomes difficult to distinguish among the pie segments of the pie graph, which expresses the segments by shading the segments using different levels in the 256 gray levels. The result is loss of information.
(2) When pseudo-halftone binarization such as the error-diffusion method is used, the drawbacks mentioned in (1) above are eliminated. However, black dots are produced in the vicinity of the characters or of the lines of the line graph. This leads to an unattractive appearance and to the blurring of lines.
These shortcomings are encountered not only in ink-jet printers which form binary images but also, though to a somewhat different extent, in printers which form binary images by a different printing method and in printers having an expression capability better than that of binary.
The following methods of solving these problems are available:
(A) Two bitmap memories, one for a binary image and one for a continuous grayscale image, are provided, data representing a character or line drawing suited to simple binarization are written in the bitmap memory for the binary image, and data representing the continuous grayscale image suited to pseudo-halftone binarization are written in the bitmap memory for the continuous grayscale image. At the time of output, the data stored in the respective memories are binarized by the methods suited thereto and the binarized data are then transferred to the printer.
(B) An image-area discriminating circuit is provided on the input side of a binarizing circuit and is used to determine, pixel by pixel, whether data which enter the binarizing circuit represent a continuous grayscale image or a character or line drawing. The binarizing method performed by the binarizing circuit is switched, on a per-pixel basis, in accordance with the determination made.
However, the following problems still remain even if these methods are employed:
According to method (A), the type of image data (character/line drawing or continuous grayscale image, etc.) can be ascertained by referring to the PDL data, and it is possible to change over the storage location of the raster-image data accordingly However, since it is necessary to provide the PDL interpreter with this function, the PDL interpreter must be modified.
According to method (B), the raster-image data converted from the PDL data are subjected to well-known image-area discrimination processing in which reference is made to a density histogram or a density gradient of density between neighboring pixels. As a result, discrimination errors tend to occur. For example, if a continuous grayscale image portion is mistakenly discriminated as a character portion, only this erroneously discriminated grayscale image portion will be simply binarized. The result will be output of an unnatural image.